[アップデート] AWS Elemental MediaPackageでマネージメントコンソールからCloudFrontディストリビューションが自動作成できるようになりました
はじめに
清水です。AWS Media Servicesの細かなアップデートを追っていくコーナーです。今回はAWS Media Servicesの1つであり動画配信におけるジャストインタイムパッケージングサービスであるAWS Elemental MediaPackageのアップデートを取り上げます。2018/08/03のアップデートでは、AWS マネージメントコンソールからMediaPackageのChannelを作成する際、自動的にAmazon CloudFront ディストリビューションを作成することができるようになりました。
- Automatically Create Amazon CloudFront Distributions for AWS Elemental MediaPackage Channels from the AWS Management Console
- AWS Elemental MediaPackage のチャネル用の Amazon CloudFront ディストリビューションを AWS マネジメントコンソールから自動的に作成
AWS Elemental MediaPackageはライブ配信時のオリジンとして動作しますので、実際に動画配信を行う際にはAmazon CloudFrontなどCDNサービスとの連携が必要になるかと思います。これまでもAWS Elemental MediaPackageとAmazon CloudFrontの連携は、MediaPackageのEndpointをオリジンとして、CloudFrontのディストリビューションを手動で作成することで可能でした。
今回、AWS Elemental MediaPackageのマネージメントコンソール上からCloudFrontディストリビューションが自動作成されるようになったということで、これまでよりも容易に動画配信環境が構築できるのではないでしょうか。実際にマネージメントコンソールからどのようにCloudFrontディストリビューションが作成されるか、確認していきたいと思います。
AWS Elemental MediaPackageのマネージメントコンソール画面からCloudFrontディストリビューションを作成してみた
マネージメントコンソールからMediaPackageのChannelを作成してみます。Channel一覧画面から[Create]でチャンネル作成の画面に進むと、いきなりCloudFrontについての設定項目が出てきますね。(この項目はこれまではありませんでした。)デフォルトでは「Do not create a CloudFront distribution for this channel」にチェックがついているので、「Create a CloudFront distribution for this channel」に変更し、Channelを作成してみます。
Channel作成後の画面では、画面上部に「Successfully created channel and CloudFront distribution」と表示されますね。またCloudFront distributionの項目も表示され、ID、Statusなどが確認できます。CloudFrontディストリビューションの作成には時間がかかるので、StatusはまだIn progressの状態ですね。
CloudFront distributionのIDの部分はリンクになっているので、ここをクリックすることでCloudFrontのマネージメントコンソール画面に遷移できます。こちらからCloudFrontディストリビューションの詳細を確認してみましょう。まずGeneralタブで確認できる情報はこちらのようになります。Commentにきちんと「Managed by MediaPackage」と記載がありますね。
Originについては以下のように「mediapackage.amazonaws.com」をOrigin Domain Nameとして1つ登録されます。Endpointではなくmediapackageのドメインで良いのかな、と思いましたが、これは後述しますEndpoint作成時に判明することになります。Behaviorについてもこの1つのオリジンでの設定のみでした。
個人的に「おっ!」と思わず声を上げてしまったのはError Pagesの設定項目です。以下のようにCloudFrontで設定できるすべてのエラーコードに対して、Error Caching Minimum TTLが1秒に設定されています、これは嬉しいですね。(これでエラーコードの設定が漏れてしまい、いざ実際のエラーが発生した際に、デフォルトエラーキャッシュ期間である300秒間は復旧できない、ということが防げます!)
その他、Tabの項目にMediaPackageに関する情報が含まれていることも確認できました。
続いてMediaPackageのChannelにEndpointを追加してみます。まずは「Apple HLS」形式のEndpointを追加してみました。作成後、CloudFrontディストリビューションについても更新が入ります。Endpoint作成時には一度DeployedのStatusだったのですが、再度In progressで設定反映中の状態となっています。
CloudFront側のマネージメントコンソールでも確認してみます。オリジンに以下のようにMediaPackageのEndpointのドメインが追加されています。
BehaviorについてもMediaPackageのEndpointを利用するように変更されていますね。index.ism/*のBehaviorについてはSmooth Streamingを有効にする設定がされていました。その他、各BehaviorでQuery String Whitelistでend, m, startの3項目を指定しているのが特徴的でした。
まとめ
AWSマネージメントコンソール上から自動でAmazon CloudFrontのディストリビューションが作成可能になったAWS Elemental MediaPackageにて、実際にChannelとEndpointを作成し、あわせて自動で作成されたCloudFrontディストリビューションの各設定について確認してみました。
これまでも手動でディストリビューションを作成することでAmazon CloudFrontを利用した配信は行えたのですが、自動で作成されること、またAWS Elemental MediaPackageに適した構成となることは大変うれしいですね。また自動で作成されたCloudFrontディストリビューションに独自ドメインを設定したり、ログ保存設定をしたり、などもできそうです。ただMediaPackageリソースの作成、更新はすぐに行えますが、CloudFrontディストリビューションの作成、更新についてはDeployedとなるまでに時間がかかることには注意しましょう。引き続きAWS Elemental MediaPackage含めたAWS Media Servicesの機能アップデートに注目していきたいと思います。